package com.campus.dao;

import com.campus.model.User;

import java.util.List;
import java.util.Optional;

public interface UserDao {
    // 根据用户名查找用户
    Optional<User> findByLoginName(String loginName);

    // 根据用户ID获取角色ID
    Optional<Integer> getRoleIdByUserId(Integer userId);

    boolean addUser(User user, Integer roleId);
    User getUserById(Integer id);  // 根据 ID 查询用户
    boolean bindUserRole(Integer userId, Integer roleId);  // 绑定用户到角色
    int updateUser(User user);
    int deleteUser(Integer id);
    void updateUserToken(int userId, String token); // 更新用户的 Token
    Optional<String> getLoginNameByToken(String token);  // 根据token获取login_name
    // 查询所有用户
    List<User> findAllUsers();
}
